package WinterHomework.day15;

//牛客NC31 第一个只出现一次的字符
public class Demo01 {
    public static void main(String[] args) {
        System.out.println(FirstNotRepeatingChar("agoodgde"));
    }

    public static int FirstNotRepeatingChar(String str) {
        if (str == null || str.length() == 0) {
            return -1;
        }
        int n = str.length();
        //答案，哈希思想定义一个能存放字符字母数字长度的数组
        int[] arr = new int[128];
        for (int i = 0; i < n; i++) {
            char c = str.charAt(i);
            arr[c]++;
        }
        for (int i = 0; i < n; i++) {
            char c = str.charAt(i);
            if (arr[c] == 1) {
                return i;
            }
        }
        return -1;
        //for循环加布尔变量
//        for (int i = 0; i < n; i++) {
//            char c = str.charAt(i);
//            boolean oneFind = true;
//            for (int j = 0; j < n; j++) {
//                if (j == i) {
//                    continue;
//                }
//                if (c == str.charAt(j)) {
//                    oneFind = false;
//                    break;
//                }
//            }
//            if (oneFind) {
//                return i;
//            }
//        }
//        return -1;
    }
}
